Ej conversor VBA:
CONST DOLAR =0.8411 AS DOUBLE
(TODAS AS DOUBLE)

DIM EURO AS CURRENCY 
DIM CAMBIO DOLAR AS DOUBLE
DIM CAMBIO LIBRA AS DOUBLE
DIM CAMBIO PESETA AS LONG

EURO = IMPUTBOX("Pistas".,"CONVERSOR DE MONEDAS",6)
MSGBOX ......,BOTN,...... <---SOLO SACA MENSAJE
VAR=MSGBOX"....,BOTN,....)<---OTRA FORMA MAS COMPLETA

HOJA1.RANGE("A1").VALUE=FORMAT(CAMBIODOLAR,"#,##0.00 $")
      CELLS(1,1)               CAMBIOLIBRAS, "#,##0.00 & CHR(163)")

CAMBIODOLAR=EURO/DOLAR




ESTRUCTURAS REPETITIVAS:
MIENTRAS:                                               HASTA:
-DO WHILE/ DO UNTIL  (condicion)                        -DO
. EXIT DO(PARA ROMPER ESTRUCTURAS)                      .
.                                                       .
.                                                       .
LOOP <--acaban con loop ambas                           LOOP UNTIL/LOOP WHILE (condicion)

-WHILE(condicion)
.
.
.
WEND<--acaba

DETERMINADAS:PARA(si se cuantas veces lo hago)
INDETERMINADAS:mientras(NO SE SI LO HAR LA PRIMERA VEZ), hasta(LO HAGO SI O SI)

FOR VAR=VAR1 TO VAR2(STEP VAR3) 
.
. IF....THEN EXIT FOR(PARA SALIR DEL FOR, SE PONE EN ALGUNA CONDICION, CUANDO LA REALIZA, SALE)
.
NEXT (VAR)<-- ESTE VAR ES OPCIONAL

VAR1= VALOR INICIAL, VAR2=VALOR FINAL , VAR3=INCREMENTO


EJ:
SUB NOMBREPROCEDIMIENTO()


END SUB

SUB PROGRAMA

CALL NOMBREPROCEDIMIENTO()<--SIGUES EL CODIGO QUE LLAMAS Y LUEGO SIGUES CON EL NORMAL

END SUB


TAMBIEN SE PUEDE LLAMAR A CALL NOMBREPROCEDIMIENTO(VAR) <-CON VARIABLES


LA FUNCION QUE SE QUIERE LLAMAR ES BYVAL VARPROC AS ...

Ej:
Sub dim var1...
Call NOMBREPROCEDIMIENTO(var1,..)
End sub


Sub NOMBREPROCEDIMIENTO(ByVal Num1 as ..., ByVal Num2 as...)
Num1 | cells(I,J) filas y columnas
Num2 |
End

Para devolver solo valor:
VAR=function()


VAR->String
NUM->Currency

VAR=INPUTBOX(....,...,...)

IF StrPtr(VAR) =vbEmpty Then

  END

ELSE
  IF ISNUMERIC(VAR) THEN    <---DICE QUE LA VARIABLE ES NUMRICA
           NUM=CCur(VAR)   <--CCur es convertir a currency
